#ifndef __internal_h__
#define __internal_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "element.h"

/* header files for imported files */
#include "document.h"

/* header files for imported files */
#include "mshtmext.h"

/* header files for imported files */
#include "behavior.h"

#ifndef __ISelectionObject2_FWD_DEFINED__
#define __ISelectionObject2_FWD_DEFINED__
typedef interface ISelectionObject2 ISelectionObject2;
#endif     /* __ISelectionObject2_FWD_DEFINED__ */

#ifndef __IHTMLEditor_FWD_DEFINED__
#define __IHTMLEditor_FWD_DEFINED__
typedef interface IHTMLEditor IHTMLEditor;
#endif     /* __IHTMLEditor_FWD_DEFINED__ */

#ifndef __IHTMLPrivateWindow_FWD_DEFINED__
#define __IHTMLPrivateWindow_FWD_DEFINED__
typedef interface IHTMLPrivateWindow IHTMLPrivateWindow;
#endif     /* __IHTMLPrivateWindow_FWD_DEFINED__ */

#ifndef __IHTMLPrivateWindow2_FWD_DEFINED__
#define __IHTMLPrivateWindow2_FWD_DEFINED__
typedef interface IHTMLPrivateWindow2 IHTMLPrivateWindow2;
#endif     /* __IHTMLPrivateWindow2_FWD_DEFINED__ */

#ifndef __IHTMLPrivateWindow3_FWD_DEFINED__
#define __IHTMLPrivateWindow3_FWD_DEFINED__
typedef interface IHTMLPrivateWindow3 IHTMLPrivateWindow3;
#endif     /* __IHTMLPrivateWindow3_FWD_DEFINED__ */

#ifndef __ISubDivisionProvider_FWD_DEFINED__
#define __ISubDivisionProvider_FWD_DEFINED__
typedef interface ISubDivisionProvider ISubDivisionProvider;
#endif     /* __ISubDivisionProvider_FWD_DEFINED__ */

#ifndef __IElementBehaviorUI_FWD_DEFINED__
#define __IElementBehaviorUI_FWD_DEFINED__
typedef interface IElementBehaviorUI IElementBehaviorUI;
#endif     /* __IElementBehaviorUI_FWD_DEFINED__ */

#ifndef __IElementAdorner_FWD_DEFINED__
#define __IElementAdorner_FWD_DEFINED__
typedef interface IElementAdorner IElementAdorner;
#endif     /* __IElementAdorner_FWD_DEFINED__ */

#ifndef __IHTMLEditor_FWD_DEFINED__
#define __IHTMLEditor_FWD_DEFINED__
typedef interface IHTMLEditor IHTMLEditor;
#endif     /* __IHTMLEditor_FWD_DEFINED__ */

#ifndef __IHTMLEditingServices_FWD_DEFINED__
#define __IHTMLEditingServices_FWD_DEFINED__
typedef interface IHTMLEditingServices IHTMLEditingServices;
#endif     /* __IHTMLEditingServices_FWD_DEFINED__ */

#ifndef __ISelectionObject2_FWD_DEFINED__
#define __ISelectionObject2_FWD_DEFINED__
typedef interface ISelectionObject2 ISelectionObject2;
#endif     /* __ISelectionObject2_FWD_DEFINED__ */

#ifndef __IEditDebugServices_FWD_DEFINED__
#define __IEditDebugServices_FWD_DEFINED__
typedef interface IEditDebugServices IEditDebugServices;
#endif     /* __IEditDebugServices_FWD_DEFINED__ */

#ifndef __IPrivacyServices_FWD_DEFINED__
#define __IPrivacyServices_FWD_DEFINED__
typedef interface IPrivacyServices IPrivacyServices;
#endif     /* __IPrivacyServices_FWD_DEFINED__ */

#ifndef __IHTMLOMWindowServices_FWD_DEFINED__
#define __IHTMLOMWindowServices_FWD_DEFINED__
typedef interface IHTMLOMWindowServices IHTMLOMWindowServices;
#endif     /* __IHTMLOMWindowServices_FWD_DEFINED__ */

#ifndef __IHTMLFilterPainter_FWD_DEFINED__
#define __IHTMLFilterPainter_FWD_DEFINED__
typedef interface IHTMLFilterPainter IHTMLFilterPainter;
#endif     /* __IHTMLFilterPainter_FWD_DEFINED__ */

#ifndef __IHTMLFilterPaintSite_FWD_DEFINED__
#define __IHTMLFilterPaintSite_FWD_DEFINED__
typedef interface IHTMLFilterPaintSite IHTMLFilterPaintSite;
#endif     /* __IHTMLFilterPaintSite_FWD_DEFINED__ */

#ifndef __IElementNamespacePrivate_FWD_DEFINED__
#define __IElementNamespacePrivate_FWD_DEFINED__
typedef interface IElementNamespacePrivate IElementNamespacePrivate;
#endif     /* __IElementNamespacePrivate_FWD_DEFINED__ */
typedef enum _EDITOR_NOTIFICATION
{
    EDITOR_NOTIFY_TIMER_TICK = 0,
    EDITOR_NOTIFY_DOC_ENDED = 1,
    EDITOR_NOTIFY_DOC_CHANGED = 2,
    EDITOR_NOTIFY_CARET_IN_CONTEXT = 3,
    EDITOR_NOTIFY_EXIT_TREE = 4,
    EDITOR_NOTIFY_LOSE_FOCUS_FRAME = 5,
    EDITOR_NOTIFY_LOSE_FOCUS = 6,
    EDITOR_NOTIFY_BEFORE_FOCUS = 7,
    EDITOR_NOTIFY_YIELD_FOCUS = 8,
    EDITOR_NOTIFY_EDITABLE_CHANGE = 9,
    EDITOR_NOTIFY_BEGIN_SELECTION_UNDO = 10,
    EDITOR_NOTIFY_ATTACH_WIN = 11,
    EDITOR_NOTIFY_UPDATE_CARET = 12,
    EDITOR_NOTIFY_BEFORE_CURRENCY_CHANGE = 13,
    EDITOR_NOTIFY_SETTING_VIEW_LINK = 14,
    EDITOR_NOTIFY_CONTAINER_ENDED = 15,
    EDITOR_NOTIFICATION_Max = 2147483647L
} EDITOR_NOTIFICATION;


EXTERN_C const ENUMDESC s_enumdescEDITOR_NOTIFICATION;

typedef enum _DOCNAVFLAGS
{
    DOCNAVFLAG_DOCNAVIGATE = 1,
    DOCNAVFLAG_DONTUPDATETLOG = 2,
    DOCNAVFLAG_HTTPERRORPAGE = 4,
    DOCNAVFLAG_OPENINNEWWINDOW = 8,
    DOCNAVFLAG_REFRESH = 16,
    DOCNAVFLAGS_Max = 2147483647L
} DOCNAVFLAGS;


EXTERN_C const ENUMDESC s_enumdescDOCNAVFLAGS;

typedef enum _NAVIGATEEXOPTIONS
{
    NAVIGATEEX_NONE = 0,
    NAVIGATEEX_DONTUPDATETRAVELLOG = 1,
    NAVIGATEEXOPTIONS_Max = 2147483647L
} NAVIGATEEXOPTIONS;


EXTERN_C const ENUMDESC s_enumdescNAVIGATEEXOPTIONS;

typedef enum _CHAR_FORMAT_FAMILY
{
    CHAR_FORMAT_None = 0,
    CHAR_FORMAT_FontStyle = 1,
    CHAR_FORMAT_FontInfo = 2,
    CHAR_FORMAT_FontName = 4,
    CHAR_FORMAT_ColorInfo = 8,
    CHAR_FORMAT_ParaFormat = 16,
    CHAR_FORMAT_FAMILY_Max = 2147483647L
} CHAR_FORMAT_FAMILY;


EXTERN_C const ENUMDESC s_enumdescCHAR_FORMAT_FAMILY;

typedef enum _LAYOUT_MOVE_UNIT
{
    LAYOUT_MOVE_UNIT_PreviousLine = 1,
    LAYOUT_MOVE_UNIT_NextLine = 2,
    LAYOUT_MOVE_UNIT_CurrentLineStart = 3,
    LAYOUT_MOVE_UNIT_CurrentLineEnd = 4,
    LAYOUT_MOVE_UNIT_NextLineStart = 5,
    LAYOUT_MOVE_UNIT_PreviousLineEnd = 6,
    LAYOUT_MOVE_UNIT_TopOfWindow = 7,
    LAYOUT_MOVE_UNIT_BottomOfWindow = 8,
    LAYOUT_MOVE_UNIT_OuterLineStart = 9,
    LAYOUT_MOVE_UNIT_OuterLineEnd = 10,
    LAYOUT_MOVE_UNIT_Max = 2147483647L
} LAYOUT_MOVE_UNIT;


EXTERN_C const ENUMDESC s_enumdescLAYOUT_MOVE_UNIT;

typedef enum _CARET_GRAVITY
{
    CARET_GRAVITY_NoChange = 0,
    CARET_GRAVITY_BeginningOfLine = 1,
    CARET_GRAVITY_EndOfLine = 2,
    CARET_GRAVITY_Max = 2147483647L
} CARET_GRAVITY;


EXTERN_C const ENUMDESC s_enumdescCARET_GRAVITY;

typedef enum _CARET_VISIBILITY
{
    CARET_TYPE_Hide = 0,
    CARET_TYPE_Show = 1,
    CARET_VISIBILITY_Max = 2147483647L
} CARET_VISIBILITY;


EXTERN_C const ENUMDESC s_enumdescCARET_VISIBILITY;

typedef enum _POINTER_SCROLLPIN
{
    POINTER_SCROLLPIN_TopLeft = 0,
    POINTER_SCROLLPIN_BottomRight = 1,
    POINTER_SCROLLPIN_Minimal = 2,
    POINTER_SCROLLPIN_Max = 2147483647L
} POINTER_SCROLLPIN;


EXTERN_C const ENUMDESC s_enumdescPOINTER_SCROLLPIN;

typedef enum _ADORNER_HTI
{
    ADORNER_HTI_NONE = 0,
    ADORNER_HTI_TOPBORDER = 1,
    ADORNER_HTI_LEFTBORDER = 2,
    ADORNER_HTI_BOTTOMBORDER = 3,
    ADORNER_HTI_RIGHTBORDER = 4,
    ADORNER_HTI_TOPLEFTHANDLE = 5,
    ADORNER_HTI_LEFTHANDLE = 6,
    ADORNER_HTI_TOPHANDLE = 7,
    ADORNER_HTI_BOTTOMLEFTHANDLE = 8,
    ADORNER_HTI_TOPRIGHTHANDLE = 9,
    ADORNER_HTI_BOTTOMHANDLE = 10,
    ADORNER_HTI_RIGHTHANDLE = 11,
    ADORNER_HTI_BOTTOMRIGHTHANDLE = 12,
    ADORNER_HTI_Max = 2147483647L
} ADORNER_HTI;


EXTERN_C const ENUMDESC s_enumdescADORNER_HTI;

typedef enum _FILTER_DRAW_LAYERS
{
    FILTER_DRAW_BORDER = 0x1,
    FILTER_DRAW_BACKGROUND = 0x2,
    FILTER_DRAW_CONTENT = 0x4,
    FILTER_DRAW_ALLLAYERS = 0x7,
    FILTER_DRAW_LAYERS_Max = 2147483647L
} FILTER_DRAW_LAYERS;


EXTERN_C const ENUMDESC s_enumdescFILTER_DRAW_LAYERS;

typedef enum _FILTER_FLAGS
{
    FILTER_FLAGS_PAGETRANSITION = 0x1,
    FILTER_FLAGS_Max = 2147483647L
} FILTER_FLAGS;


EXTERN_C const ENUMDESC s_enumdescFILTER_FLAGS;

typedef struct _HTMLPtrDispInfoRec
{
    DWORD dwSize;
    LONG lBaseline;
    LONG lXPosition;
    LONG lLineHeight;
    LONG lTextHeight;
    LONG lDescent;
    LONG lTextDescent;
    BOOL fRTLLine;
    BOOL fRTLFlow;
    BOOL fAligned;
    BOOL fHasNestedRunOwner;
} HTMLPtrDispInfoRec;


#ifndef __IHTMLPrivateWindow_INTERFACE_DEFINED__

#define __IHTMLPrivateWindow_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLPrivateWindow;


MIDL_INTERFACE("3050f6dc-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPrivateWindow : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE SuperNavigate(
            /* [in] */ BSTR bstrURL,/* [in] */ BSTR bstrLocation,/* [in] */ BSTR bstrShortcut,/* [in] */ BSTR bstrFrameName,/* [in] */ VARIANT* pvarPostData,/* [in] */ VARIANT* pvarHeaders,/* [in] */ DWORD dwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPendingUrl(
            /* [out] */ LPOLESTR* pstrURL) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetPICSTarget(
            /* [in] */ IOleCommandTarget* pctPICS) = 0;

    virtual HRESULT STDMETHODCALLTYPE PICSComplete(
            /* [in] */ BOOL fApproved) = 0;

    virtual HRESULT STDMETHODCALLTYPE FindWindowByName(
            /* [in] */ LPCOLESTR pstrTargeName,/* [out] */ IHTMLWindow2** ppWindow) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetAddressBarUrl(
            /* [out] */ BSTR* pbstrURL) = 0;

};

#endif     /* __IHTMLPrivateWindow_INTERFACE_DEFINED__ */


#ifndef __IHTMLPrivateWindow2_INTERFACE_DEFINED__

#define __IHTMLPrivateWindow2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLPrivateWindow2;


MIDL_INTERFACE("3050f7e5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPrivateWindow2 : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE NavigateEx(
            /* [in] */ BSTR bstrURL,/* [in] */ BSTR bstrUnencodedUrl,/* [in] */ BSTR bstrLocation,/* [in] */ BSTR bstrContext,/* [in] */ IBindCtx* pBindCtx,/* [in] */ DWORD dwNavOptions,/* [in] */ DWORD dwFHLFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetInnerWindowUnknown(
            /* [in, out] */ IUnknown** ppUnknown) = 0;

};

#endif     /* __IHTMLPrivateWindow2_INTERFACE_DEFINED__ */


#ifndef __IHTMLPrivateWindow3_INTERFACE_DEFINED__

#define __IHTMLPrivateWindow3_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLPrivateWindow3;


//MIDL_INTERFACE("3050f840-98b5-11cf-bb82-00aa00bdce0b") // is old
MIDL_INTERFACE("30510411-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPrivateWindow3 : public IHTMLPrivateWindow2
{
public:
    virtual HRESULT STDMETHODCALLTYPE OpenEx(
            /* [in] */ BSTR url,/* [in] */ BSTR urlContext,/* [in] */ BSTR name,/* [in] */ BSTR features,/* [in] */ VARIANT_BOOL replace,/* [out] */ IHTMLWindow2** pomWindowResult) = 0;

};

#endif     /* __IHTMLPrivateWindow3_INTERFACE_DEFINED__ */


#ifndef __ISubDivisionProvider_INTERFACE_DEFINED__

#define __ISubDivisionProvider_INTERFACE_DEFINED__

EXTERN_C const IID IID_ISubDivisionProvider;


MIDL_INTERFACE("3050f4d2-98b5-11cf-bb82-00aa00bdce0b")
ISubDivisionProvider : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetSubDivisionCount(
            /* [out] */ LONG* pcSubDivision) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSubDivisionTabs(
            /* [in] */ LONG cTabs,/* [out] */ LONG* pSubDivisionTabs) = 0;

    virtual HRESULT STDMETHODCALLTYPE SubDivisionFromPt(
            /* [in] */ POINT pt,/* [out] */ LONG* piSubDivision) = 0;

};

#endif     /* __ISubDivisionProvider_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorUI_INTERFACE_DEFINED__

#define __IElementBehaviorUI_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorUI;


MIDL_INTERFACE("3050f4bf-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorUI : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE OnReceiveFocus(
            /* [in] */ BOOL fFocus,/* [in] */ LONG lSubDivision) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSubDivisionProvider(
            /* [out] */ ISubDivisionProvider** ppProvider) = 0;

    virtual HRESULT STDMETHODCALLTYPE CanTakeFocus(
            ) = 0;

};

#endif     /* __IElementBehaviorUI_INTERFACE_DEFINED__ */


#ifndef __IElementAdorner_INTERFACE_DEFINED__

#define __IElementAdorner_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementAdorner;


MIDL_INTERFACE("3050f607-98b5-11cf-bb82-00aa00bdce0b")
IElementAdorner : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE Draw(
            /* [in] */ HDC hdc,/* [in] */ LPRECT prc) = 0;

    virtual HRESULT STDMETHODCALLTYPE HitTestPoint(
            /* [in] */ POINT* pt,/* [in] */ LPRECT prc,/* [in, out] */ BOOL* fResult,/* [in, out] */ ADORNER_HTI* peAdornerHTI) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSize(
            /* [in] */ SIZE* pSizeElem,/* [in] */ SIZE* pSizeAdorn) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPosition(
            /* [in] */ POINT* pPosElem,/* [in] */ POINT* pPosAdorn) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnPositionSet(
            ) = 0;

};

#endif     /* __IElementAdorner_INTERFACE_DEFINED__ */


#ifndef __IHTMLEditor_INTERFACE_DEFINED__

#define __IHTMLEditor_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLEditor;


MIDL_INTERFACE("3050f7fa-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEditor : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE PreHandleEvent(
            /* [in] */ DISPID inEvtDispId,/* [in] */ IHTMLEventObj* pIEventObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE PostHandleEvent(
            /* [in] */ DISPID inEvtDispId,/* [in] */ IHTMLEventObj* pIEventObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
            /* [in] */ DISPID inEvtDispId,/* [in] */ IHTMLEventObj* pIEventObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE Initialize(
            /* [in] */ IUnknown* pIDocument,/* [in] */ IUnknown* pIContainer) = 0;

    virtual HRESULT STDMETHODCALLTYPE Notify(
            /* [in] */ EDITOR_NOTIFICATION eSelectionNotification,/* [in] */ IUnknown* pUnknown,/* [in] */ DWORD dword) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetCommandTarget(
            /* [in] */ IUnknown* pContext,/* [in, out] */ IUnknown** ppUnkTarget) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetElementToTabFrom(
            /* [in] */ BOOL fForward,/* [in, out] */ IHTMLElement** ppElement,/* [in, out] */ BOOL* pfFindNext) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsEditContextUIActive(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE TerminateIMEComposition(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnableModeless(
            /* [in] */ BOOL fEnable) = 0;

};

#endif     /* __IHTMLEditor_INTERFACE_DEFINED__ */


#ifndef __IHTMLEditingServices_INTERFACE_DEFINED__

#define __IHTMLEditingServices_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLEditingServices;


MIDL_INTERFACE("3050f7fb-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEditingServices : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE Delete(
            /* [in] */ IMarkupPointer* pStart,/* [in] */ IMarkupPointer* pEnd,/* [in] */ BOOL fAdjustPointers) = 0;

    virtual HRESULT STDMETHODCALLTYPE Paste(
            /* [in] */ IMarkupPointer* pStart,/* [in] */ IMarkupPointer* pEnd,/* [in] */ BSTR bstrText) = 0;

    virtual HRESULT STDMETHODCALLTYPE PasteFromClipboard(
            /* [in] */ IMarkupPointer* pStart,/* [in] */ IMarkupPointer* pEnd,/* [in] */ IDataObject* pDO) = 0;

    virtual HRESULT STDMETHODCALLTYPE LaunderSpaces(
            /* [in] */ IMarkupPointer* pStart,/* [in] */ IMarkupPointer* pEnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE InsertSanitizedText(
            /* [in] */ IMarkupPointer* InsertHere,/* [in] */ OLECHAR* pstrText,/* [in] */ LONG cChInput,/* [in] */ BOOL fDataBinding) = 0;

    virtual HRESULT STDMETHODCALLTYPE UrlAutoDetectCurrentWord(
            /* [in] */ IMarkupPointer* pWord) = 0;

    virtual HRESULT STDMETHODCALLTYPE UrlAutoDetectRange(
            /* [in] */ IMarkupPointer* pStart,/* [in] */ IMarkupPointer* pEnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE ShouldUpdateAnchorText(
            /* [in] */ OLECHAR* pstrHref,/* [in] */ OLECHAR* pstrAnchorText,/* [out] */ BOOL* pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE AdjustPointerForInsert(
            /* [in] */ IDisplayPointer* pDispWhereIThinkIAm,/* [in] */ BOOL fFurtherInDocument,/* [in] */ IMarkupPointer* pConstraintStart,/* [in] */ IMarkupPointer* pConstraintEnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE FindSiteSelectableElement(
            /* [in] */ IMarkupPointer* pPointerStart,/* [in] */ IMarkupPointer* pPointerEnd,/* [in] */ IHTMLElement** ppIHTMLElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsElementSiteSelectable(
            /* [in] */ IHTMLElement* pIHTMLElement,/* [out] */ IHTMLElement** ppIElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsElementUIActivatable(
            /* [in] */ IHTMLElement* pIHTMLElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsElementAtomic(
            /* [in] */ IHTMLElement* pIHTMLElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE PositionPointersInMaster(
            /* [in] */ IHTMLElement* pIElement,/* [in] */ IMarkupPointer* pIStart,/* [in] */ IMarkupPointer* pIEnd) = 0;

};

#endif     /* __IHTMLEditingServices_INTERFACE_DEFINED__ */


#ifndef __ISelectionObject2_INTERFACE_DEFINED__

#define __ISelectionObject2_INTERFACE_DEFINED__

EXTERN_C const IID IID_ISelectionObject2;


MIDL_INTERFACE("3050f7fc-98b5-11cf-bb82-00aa00bdce0b")
ISelectionObject2 : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE Select(
            /* [in] */ ISegmentList* pISegmentList) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsPointerInSelection(
            /* [in] */ IDisplayPointer* pIDispPointer,/* [out] */ BOOL* pfPointerInSelection,/* [in] */ POINT* pptGlobal,/* [in] */ IHTMLElement* pIElementOver) = 0;

    virtual HRESULT STDMETHODCALLTYPE EmptySelection(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE DestroySelection(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE DestroyAllSelection(
            ) = 0;

};

#endif     /* __ISelectionObject2_INTERFACE_DEFINED__ */


#ifndef __IEditDebugServices_INTERFACE_DEFINED__

#define __IEditDebugServices_INTERFACE_DEFINED__

EXTERN_C const IID IID_IEditDebugServices;


MIDL_INTERFACE("3050f60b-98b5-11cf-bb82-00aa00bdce0b")
IEditDebugServices : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetCp(
            /* [in] */ IMarkupPointer* pIPointer,/* [out] */ long* pcp) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetDebugName(
            /* [in] */ IMarkupPointer* pIPointer,/* [in] */ LPCTSTR strDbgName) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetDisplayPointerDebugName(
            /* [in] */ IDisplayPointer* pDispPointer,/* [in] */ LPCTSTR strDbgName) = 0;

    virtual HRESULT STDMETHODCALLTYPE DumpTree(
            /* [in] */ IMarkupPointer* pIPointer) = 0;

    virtual HRESULT STDMETHODCALLTYPE LinesInElement(
            /* [in] */ IHTMLElement* pIElement,/* [out] */ long* piLines) = 0;

    virtual HRESULT STDMETHODCALLTYPE FontsOnLine(
            /* [in] */ IHTMLElement* pIElement,/* [in] */ long iLine,/* [out] */ BSTR* pbstrFonts) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPixel(
            /* [in] */ long X,/* [in] */ long Y,/* [out] */ long* piColor) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsUsingBckgrnRecalc(
            /* [out] */ BOOL* pfUsingBckgrnRecalc) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsEncodingAutoSelect(
            /* [out] */ BOOL* pfEncodingAutoSelect) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnableEncodingAutoSelect(
            /* [in] */ BOOL fEnable) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsUsingTableIncRecalc(
            /* [out] */ BOOL* pfUsingTableIncRecalc) = 0;

};

#endif     /* __IEditDebugServices_INTERFACE_DEFINED__ */


#ifndef __IPrivacyServices_INTERFACE_DEFINED__

#define __IPrivacyServices_INTERFACE_DEFINED__

EXTERN_C const IID IID_IPrivacyServices;


MIDL_INTERFACE("3050f84b-98b5-11cf-bb82-00aa00bdce0b")
IPrivacyServices : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE AddPrivacyInfoToList(
            /* [in] */ LPOLESTR pstrUrl,/* [in] */ LPOLESTR pstrPolicyRef,/* [in] */ LPOLESTR pstrP3PHeader,/* [in] */ LONG dwReserved,/* [in] */ DWORD privacyFlags) = 0;

};

#endif     /* __IPrivacyServices_INTERFACE_DEFINED__ */


#ifndef __IHTMLOMWindowServices_INTERFACE_DEFINED__

#define __IHTMLOMWindowServices_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLOMWindowServices;


MIDL_INTERFACE("3050f5fc-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOMWindowServices : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE moveTo(
            /* [in] */ LONG x,/* [in] */ LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveBy(
            /* [in] */ LONG x,/* [in] */ LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE resizeTo(
            /* [in] */ LONG x,/* [in] */ LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE resizeBy(
            /* [in] */ LONG x,/* [in] */ LONG y) = 0;

};

#endif     /* __IHTMLOMWindowServices_INTERFACE_DEFINED__ */


#ifndef __IHTMLFilterPainter_INTERFACE_DEFINED__

#define __IHTMLFilterPainter_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLFilterPainter;


MIDL_INTERFACE("3050f6de-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFilterPainter : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE InvalidateRectUnfiltered(
            /* [in] */ RECT* prcInvalid) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateRgnUnfiltered(
            /* [in] */ HRGN hrgnInvalid) = 0;

    virtual HRESULT STDMETHODCALLTYPE ChangeElementVisibility(
            /* [in] */ BOOL fVisible) = 0;

};

#endif     /* __IHTMLFilterPainter_INTERFACE_DEFINED__ */


#ifndef __IHTMLFilterPaintSite_INTERFACE_DEFINED__

#define __IHTMLFilterPaintSite_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLFilterPaintSite;


MIDL_INTERFACE("3050f6d3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFilterPaintSite : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE DrawUnfiltered(
            /* [in] */ HDC hdc,/* [in] */ IUnknown* punkDrawObject,/* [in] */ RECT rcBounds,/* [in] */ RECT rcUpdate,/* [in] */ LONG lDrawLayers) = 0;

    virtual HRESULT STDMETHODCALLTYPE HitTestPointUnfiltered(
            /* [in] */ POINT pt,/* [in] */ LONG lDrawLayers,/* [out] */ BOOL* pbHit) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateRectFiltered(
            /* [in] */ RECT* prcInvalid) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateRgnFiltered(
            /* [in] */ HRGN hrgnInvalid) = 0;

    virtual HRESULT STDMETHODCALLTYPE ChangeFilterVisibility(
            /* [in] */ BOOL fVisible) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnsureViewForFilterSite(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
            /* [out] */ void** ppDirectDraw) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetFilterFlags(
            /* [out] */ DWORD* nFlagVal) = 0;

};

#endif     /* __IHTMLFilterPaintSite_INTERFACE_DEFINED__ */


#ifndef __IElementNamespacePrivate_INTERFACE_DEFINED__

#define __IElementNamespacePrivate_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementNamespacePrivate;


MIDL_INTERFACE("3050f7ff-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespacePrivate : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE AddTagPrivate(
            /* [in] */ BSTR bstrTagName,/* [in] */ BSTR bstrBaseTagName,/* [in] */ LONG lFlags) = 0;

};

#endif     /* __IElementNamespacePrivate_INTERFACE_DEFINED__ */



#endif /*__internal_h__*/

